// 示例：从完整路径中获取无扩展名的文件名
const path = require("path");
exports.getBasenameWithoutExt = (filePath) => {
    // 1. 从路径中提取文件名（如 'report.pdf'）
    const fileNameWithExt = filePath.split('/').pop(); // 或使用 '\\' 处理Windows路径
    // 2. 使用上述任意方法去除扩展名，这里以精确定位法为例
    const lastDotIndex = fileNameWithExt.lastIndexOf('.');
    return lastDotIndex === -1 ? fileNameWithExt : fileNameWithExt.substring(0, lastDotIndex);
}

exports.getFileType = (filename) => {
    const ext = path.extname(filename).toLowerCase();
    const typeMap = {
        // 文档类型
        '.md': 'markdown',
        '.txt': 'text',
        '.pdf': 'pdf',
        '.doc': 'word',
        '.docx': 'word',

        // 代码文件
        '.js': 'javascript',
        '.ts': 'typescript',
        '.py': 'python',
        '.java': 'java',
        '.html': 'html',
        '.css': 'css',
        '.json': 'json',

        // 图片类型
        '.jpg': 'image',
        '.jpeg': 'image',
        '.png': 'image',
        '.gif': 'image',
        '.bmp': 'image',
        '.svg': 'image',

        // 视频类型
        '.mp4': 'video',
        '.avi': 'video',
        '.mkv': 'video',
        '.mov': 'video',
        '.wmv': 'video',
        '.flv': 'video',

        // 音频类型
        '.mp3': 'audio',
        '.wav': 'audio',
        '.flac': 'audio',
        '.aac': 'audio'
    };

    return typeMap[ext] || 'file';
}